
/// 让 Core 层能够随意调用 Project 层提供的能力
/// 通用能力提供者接口，Core 层定义了一个抽象接口，project层可扩展实现，实现project向core层传值
/// 解耦：Core 层和 Project 层相互独立，可复用：Core 层可以在多个项目中复用
/// 只要实例是 A（A 实现了接口 B），即便变量类型是 B，调用 B 的方法也会执行 A 的实现。
/// 决定调用哪个实现的是“运行时实例类型”，不是变量的静态类型。
abstract class CoreInterface {
  /// 获取token
  Future<String?> getToken();

  /// 获取当前用户ID
  Future<String?> getUserId();

  /// 获取当前语言
  String getCurrentLocale();

  /// 获取自定义header
  Future<Map<String, String>> getCustomHeaders();

  // 可继续扩展其它能力
}